Position and orientation detection system

ABSTRACT

A system for determining the position, orientation and deformation in 3 dimensional space of a moving object in real-time is provided having a plurality of activatable markers which are mounted onto the object and a sensor section comprising a plurality of individual sensors as shown diagrammatically in FIG.  1 . Individual markers are activated in sequence with only one marker energized at any time. Energy emitted by each activated marker is detected by the plurality of sensors positioned remotely. Since only one marker is activated at any time individual determination of the position of the particular energized marker is simplified. Individual sensors are arranged such that each sensor receives a different energy level from an energized marker depending on the relative position of the marker to the sensor. A control unit analyzes the energy distribution range to determine the actual marker position. The system compensates for ambient energy and sensor saturation.

CROSS-REFERENCES TO RELATED APPLICATIONS

Not applicable.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

REFERENCE TO A “MICROFICHE” INDEX

Not applicable.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention generally relates to systems for determining the positionand orientation of an object which may deform in shape over time andwhich use the detection of energy emitted from markers placed on theobject.

2. Description of the Related Art

As is known in the art, passive systems exist which rely on the markersbeing illuminated with energy that reflects off the markers and isdetected by the sensor system. Active systems also exist in which themarkers are individual sources of energy. In both cases the energy isfocused onto spaced sensors, such that the position of an energisedmarker is identified by the sub set of adjacent sensor points that arerecording an energy level above a given threshold.

By identifying which adjacent sensors are detecting energy above thethreshold, the associated computing devices can estimate the position ofthe marker emitting the energy in a given plane in space since thefocusing function relates a point in space to a sensor on the sensorsystem. To achieve a high resolution measurement from such systems avery large number of sensors need to be positioned adjacent to eachother as each sensor relates to a point in space. Having a large numberof sensors leads to a degradation in the capture rate as the signallevels must be digitised for a large number of sensors. By using threedisplaced sensor sets, the position of the marker can be calculated to acertain level of accuracy in 3 dimensional space.

In such systems energy from the marker is directly focused onto thesensors so that only a small number of sensors detect energy over thegiven threshold. Such systems do not measure the distribution of energylevels across a large percentage of the total number of sensors and donot calculate the position of the marker based on an energy distributionfunction for which a maximum value occurs for a calculated markerposition.

In passive systems all illuminated markers are energised and detectedsimultaneously.

Therefore the computing device needs firstly to identify which sub setof adjacent sensors detecting energy above the given thresholdcorrespond to which marker. Secondly it must track each marker from onesample to the next and attempt to distinguish each marker at all times.This results in the possibility of errors where marker assignments arelost and requires intensive processing methods.

Active systems may illuminate all markers at the same time or they cancycle the illumination of each marker to aid the computing systemdistinguish individual markers. If all markers illuminate at the sametime, the computing device must be able to identify the correspondenceof each marker and each energy detection and it must then track eachmarker in a similar way to the passive system.

In an active system that illuminates each marker individually, thecomputing device can immediately make the correspondence of markerenergy emission and detection since the cycle time will be known. Aseach energy emission is recorded separately, no tracking is required andthe position is simply calculated for each illumination. In one suchsystem the sensor set is a multiple charge coupled device (CCD) ontowhich the energy is focused. To detect in 3D space at least three CCDdetectors are used. In order to achieve high measurement resolution theCCD must have a large number of detecting sensors since the focusingfunction relates a point in space to each sensor point on the CCD. Inorder to achieve very high sample rates for a large number of markersthe CCD must be driven at very high rates, well above the needs ofconventional CCD devices. High resolution CCD devices capable of workingat high data capture rates are expensive. In addition systems that useCCD devices have a measurement non-linearity dependent on the ability ofthe lens component to accurately focus the marker points linearly acrossthe CCD sensor surface and not introduce any aberration.

As the CCD is moved further away from the markers on the object ofinterest, the measurement scaling changes since the focused image of themarkers on the sensor system changes in size. Due to lens aberration andchanges in measurement scaling such systems require a calibration phasein which an object of known dimensions is introduced for sampling. Thiscalibration task is inconvenient, often needs experienced personnel toperform it and is considered a negative aspect from the point of view ofend user.

BRIEF SUMMARY OF THE INVENTION

In accordance with the present invention, a system for determining theposition, orientation and deformation in 3 dimensional space of a movingobject in real-time is provided having a plurality of activatablemarkers which are mounted onto parts of the object for which a positionvalue needs to be recorded, a drive unit which drives the activatablemarkers in a defined sequence, a sensor section comprising a pluralityof sensors remote from the markers and suitably arranged such that theenergy falling on the sensor is dependent on the relative position ofthe energised marker and the sensor, a data capture unit which digitisesthe signals sensed by each sensor and a control unit which processes thesignals received from the data capture unit.

The object may move in space and may deform in shape and the markers aremounted so as to move with the object and follow the shape deformation.

Each marker is activated individually for a period of time by the driveunit in a sequence known to the data capture unit and the control unit.While each marker is illuminated the energy from the marker is detectedby all sensors. The sensors are arranged such that the energydistribution sensed by the plurality of markers for a single energisedmarker is a function of the position of the marker. The digitised energylevels are transmitted to the control unit at high speed and theinformation is processed to determine the position of the marker. Thecontrol unit calculates the position of the marker based on an energydistribution function for which a maximum value occurs for a calculatedmarker position.

By using this approach relatively few sensors are needed to determinemarker position. This results in low digitisation and data collectionoverheads and therefore faster sample rates than if CCD devices wereused. In addition by using a much lower number of sensor componentssignificant cost reductions are achievable.

It is important to stress that the amplitude of the energy signal is notused to determine the position of the marker rather it is the energydistribution pattern over a number of sensors. For example the distancefrom the marker to a sensor is not calculated using the energy amplitudedetected per se; in which case the emitter and sensor would need to befinely calibrated.

Since accurate signal strength values are unnecessary calibration of theenergy emission and detection components is unnecessary.

Since the system relies on the way energy is distributed over thesensors, there is no need to calibrate the system for measurementscaling.

Since only one marker is activated at one time during a single cycle,the sensor section can individually determine the position of eachmarker as each marker is separately illuminated thereby making markertracking unnecessary.

To reduce significantly the effect of external ambient energy radiationbeing superimposed upon the energy signal emitted by each marker thedrive unit can split each specific marker illumination period into twoparts. In the first part the marker is fully illuminated and the signallevel detected is digitised. During a second part the marker is notilluminated and instead the data capture unit samples the ambient energysignal for each sensor and digitises it. Since the time interval betweenthe two samples is very small the ambient energy level can be assumed toequal the subsequent ambient energy signal recorded and since the effectof ambient energy on marker energy detection can be considered to followa simple superimposition rule, the final signal level attributed to themarker is the illuminated signal level less the ambient signal level.This subtraction can be performed by the data capture unit and theresult can be transmitted to the control unit.

To deal with possible saturation of sensors due to the marker being tooclose to a group of sensors the drive unit can be designed to drive themarker with maximum illumination followed by a period of illumination at50% of maximum, followed by the zero illumination level for the purposesof ambient energy detection. In cases where the maximum illuminationlevel results in a saturation of the sensors, the data capture unit canglobally choose to use the energy levels recorded during the time atwhich the drive unit illuminated the marker at 50% of maximum drive. Inthis way the system can automatically adapt to saturation of the sensorswhich may occur if the marker is positioned very close to the sensors inwhich case the signal values detected during the period of lower energyemission are used for the calculations.

In a preferred embodiment of the invention, the system includes: aplurality of infra red emitting markers that can be mounted to points ofinterest on the object; a drive unit which sequences the activation ofthe markers according to a synchronisation signal derived from thecontrol unit; a sensor section, preferably a linear array of infra redsensors where each sensor is set approximately 75 mm apart and placedbehind a linear collimator slot orthogonal to the linear array axis; adata capture section comprising a set of microprocessors which read thesensor levels and send the data to a control unit; a control unitcomprising a processor to calculate the position of each marker and adata reception part for reception of the sensor level data from the datacapture unit.

The sensors are provided with a collimator through which the energy maypass only up to a limited angle of incidence after which the sensordetects no energy. When the marker is directly positioned above a sensorthe full energy of the marker is detected however as the marker movesaway from the perpendicular axis adjoining the sensor, the energy leveldetected reduces as the collimator begins to attenuate the energyemitted by the marker.

The control unit activates the drive unit to begin the illumination ofmarkers in a sequence known to the control unit. The sensor sectiondetects the emitted energy and the data capture section digitises thelevels and transmits them to the control unit. On reception the controlunit analyses the data from a single sensor axis and calculates the mostlikely point along the length of the sensor axis which corresponds tothe nearest point between the axis and the marker.

The control unit may receive data from several sensor axes, at leastthree, and will compute the 3D position of the marker in 3D space.

The control unit may display the information, store it or transmit it toanother computing device for further use.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of a system for determining the position in 3dimensional space of a moving object in real-time according to theinvention.

FIG. 2 is a diagram indicating how energy emitted from a marker indifferent positions falls onto a sensor masked with a slot collimator.

FIG. 3 is a graph depicting the intensity of energy received from eachsensor arrangement where 5 sensor arrangements 1,2,3,4,5 are placed in astraight line and equidistant to each other.

FIGS. 4a-4 c are flow charts of the sub processes used by the system inFIG. 1 in determining the position in 3 dimensional space of a movingobject in real-time according to the invention, and in particular:

FIG. 4a is the flow chart for the synchronisation, reception andco-ordinate processing by the control unit.

FIG. 4b is the flow chart for the sensor signal digitisation by the datacapture unit.

FIG. 4c is the drive sequence flow chart for the illumination ofmarkers. T is the total period of drive time specified for one marker.

FIG. 5 depicts the energy levels from a single sensor during a typicalmarker illumination sequence showing the levels recorded during maximumillumination, 50% of maximum and during ambient recording. T is thetotal period of drive time specified for one marker

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1 a system 1 for determining the position, orientationand deformation in three dimensional space of a moving object 2 isprovided wherein a plurality of, in this instance five, active emittersor markers 3 a, 3 b, 3 c, 3 d, 3 e affixed to the object 2 are activatedby a drive unit 4 following a set sequence, for example 3 a then 3 bthen 3 c then 3 d then 3 e for each cycle, known to the control unit 5.The drive unit begins a drive cycle as a result of a synchronisationsignal 6 sent by the control unit 5. As each marker is illuminated inturn by the drive unit, emitted energy from each marker is detected by alinear array of sensors 7 containing sensors 8 a, 8 b, 8 c, 8 d, 8 e,displaced by a distance depending on the resolution required butpreferably 75 mm, and positioned behind collimating slots 9, which arearranged orthogonal to the array axis. The slots 9 a, 9 b, 9 c, 9 d, 9e, act as barriers to energy arriving at an angle greater than Theta butpass energy arriving within this angle of incidence. As shown in FIG. 2,this arrangement ensures that a marker can be detected only if it iswithin a region of space running perpendicular to the linear array. Italso ensures that the level of energy detected by adjacent sensorsdecreases on either side of the point along the length of the sensoraxis which corresponds to the nearest point between the axis and themarker. The data capture unit 10, receives the synchronisation signalfrom the control unit and synchronises the digitisation of the energylevels detected by the sensors 8, and transmits them to the control unit5. The control unit 5 calculates for each linear array and for eachmarker the position along the length of the sensor axis that correspondsto the nearest point between the axis and the marker.

The flow diagrams of FIGS. 4a, 4 b and 4 c, explains the processesinvolved in the control unit, the data capture unit and the drive unit.

In the preferred embodiment, the calculation of the position of a markerrelative to a linear sensor array is performed by the control unit 5.The control unit receives energy signal information from all sensors inthe array corresponding to an activated marker. FIG. 3 is a graphdepicting the energy distribution in a typical linear sensor array of 5sensors. The control unit processor loads the signal level values fromeach sensor into an array in memory and determines which sensors areregistering a signal level above zero. Depending on the sensorarrangement the energy distribution function can be described by linear,quasi-linear or non-linear equations. In one embodiment the energydistribution is parabolic in shape and therefore the processor computesthe coefficients of a quadratic equation that will best fit the energydistribution data.

Having determined the equation coefficients, the estimate for the markerposition is calculated as the point for which the equation evaluates toa maximum.

Having calculated the position of the marker relative for the particularsensor array, the control unit 5 loads data relating to the next sensoryarray and applies the same algorithm to determine the position of themarker relative to that sensor array. Once all sensor array data hasbeen processed for the marker of concern, sensor data relating to thenext marker in the sequence can be processed. If more than one processoris used in the control unit, this processing may be shared acrossprocessors.

Once all marker positions have been calculated the marker position datamay be further processed according to the needs of the application.

FIG. 5 depicts the sensor level value for one sensor during theactivation of a single marker in time. The figure shows at 1, the signallevel recorded when the marker is illuminated at maximum energy output,and shows at 2, the signal level recorded when the marker is illuminatedat 50% of maximum energy and shows at 3, the signal level recorded whenthe marker is not illuminated at all. The data capture unit 10 samplesand digitises the levels at each point 1,2 and 3 and stores thesevalues. The capture unit 10 examines all sensor levels associated withthe maximum energy emission timing and determines if any are higher thana level that would suggest at least one sensor was in saturation. If asingle sensor is in saturation then the capture unit 10 will default tousing only digitised sensor values recorded during the time that only50% energy was emitted from the marker. In this way the capture unit canmake a significant contribution to filtering data from saturated sensorswhich would degrade the marker position calculation accuracy.

In order to compensate for ambient radiation, the capture unit 10 willsubtract from the saturation filtered energy signal, the level recordedduring the time of zero illumination of the marker. Since the timeinterval between the two samples is very small, the ambient energy levelcan be assumed to equal the ambient energy present during the time thatthe marker was illuminated at either 100% or 50% of the maximum. Sincethe effect of ambient energy on marker energy detection can beconsidered to follow a simple superimposition rule, the final signallevel attributed to the marker is the illuminated signal level less theambient signal level. The capture unit 10 therefore performs thesubtraction and stores the result for subsequent transmission to thecontrol unit 5, for processing.

What is claimed is:
 1. A system for determining position, orientationand deformation in 3-D space of at least one moving object in real time,the system comprising: a plurality of energy emitting markers forplacing for movement with the object; driving means coupled to themarkers for driving the markers; a plurality of stationary sensors, eachfor sensing energy emitted from the markers; detection means coupled tothe sensors for detecting the energy sensed by the sensors; andprocessing means for controlling the driving means so that the markersemit energy in a predetermined order and for processing the detectedenergies to derive position, orientation and deformation information forthe object; wherein: the sensors are arranged in a linear array along anaxis; and each sensor in the array has a respective collimator arrangedso that: the respective sensor receives full energy from a marker whenthe angle between the line which connects the sensor to the marker andthe plane which is perpendicular to the array axis is zero; thecollimator increasingly attenuates the received energy as said angleincreases from zero; and the collimator blocks the energy from themarker when said angle exceeds a predetermined angle.
 2. A system asclaimed in claim 1, wherein the pitch of the sensors in the array isconstant.
 3. A system as claimed in claim 1, wherein each collimator isprovided by a slot in a panel covering the respective sensor, and thelongitudinal axis of each slot is orthogonal to the array axis.
 4. Asystem as claimed in claim 3, wherein the pitch of the slots isconstant.
 5. A system as claimed in claim 3, wherein the distancebetween each slot and the respective sensor is similar to the length ofthe slot.
 6. A system as claimed in claim 3, wherein the width of eachslot is similar to the width of the respective sensor.
 7. A system asclaimed in claim 1, wherein the processing means is operable, in thecase where the energy emitted from one of the markers is detected by aplurality of the sensors in the array, to calculate from the detectedenergies a position of a maximum in the energy distribution falling onthe sensors.
 8. A system as claimed in claim 1, wherein the processingmeans is operable: to determine detected ambient energies for thesensors when the markers are not driven; to subtract the detectedambient energy for each sensor from the detected energy for that sensorwhen the markers are driven to obtain a compensated energy for thatsensor; and to process the compensated energies to derive the position,orientation and deformation information for the object.
 9. A system asclaimed in claim 1, wherein: the driving means is operable to drive themarkers with a first drive energy and with a second drive energy that ishalf of the first drive energy; and the processing means is operable: todetermine whether or not the detected energy for any of the sensors inthe array when the markers are driven with the first drive energyindicates saturation of that sensor and, if so, to process the detectedenergies when the markers are driven with second drive energy to derivethe position, orientation and deformation information for the object,but, if not, to process the detected energies when the markers aredriven with the first drive energy to derive the position, orientationand deformation information for the object.
 10. A system as claimed inclaim 1, including at least three such arrays of the sensors.
 11. Asystem as claimed in claim 10, wherein, for each array, the processingmeans is operable to determine the positions of the respective markersrelative to that array by processing the detected energies for thesensors in that array.
 12. A method of determining position, orientationand deformation in 3-D space of at least one moving object in real time,the method comprising: placing a plurality of energy emitting markersfor movement with the object; driving the markers; using a plurality ofstationary sensors, each for sensing energy emitted from the markers;detecting the energy sensed by the sensors; controlling the driving stepso that the markers emit energy in a predetermined order; and processingthe detected energies to derive position, orientation and deformationinformation for the object; wherein: arranging at least some of thesensors in a linear array along an axis; and providing a respectivecollimator for each sensor in the array arranged so that: the respectivesensor receives full energy from a marker when the angle between theline which connects the sensor to the marker and the plane which isperpendicular to the array axis is zero; the collimator increasinglyattenuates the received energy as said angle increases from zero; andthe collimator blocks the energy from the marker when said angle exceedsa predetermined angle.
 13. A method as claimed in claim 12, wherein theprocessing step includes, in the case where the energy emitted from oneof the markers is detected by a plurality of the sensors in the array, astep of calculating from the detected energies a position of a maximumin the energy distribution falling on the sensors.
 14. A method asclaimed in claim 12, wherein the processing step includes: determiningdetected ambient energies for the sensors when the markers are notdriven; subtracting the detected ambient energy for each sensor from thedetected energy for that sensor when the markers are driven to obtain acompensated energy for that sensor; and processing the compensatedenergies to derive the position, orientation and deformation informationfor the object.
 15. A method as claimed in claim 12, wherein: thecontrolling step includes controlling the markers so that they aredriven with a first drive energy and with a second drive energy that ishalf of the first drive energy; and the processing step includes:determining whether or not the detected energy for any of the sensors inthe array when the markers are driven with the first drive energyindicates saturation of that sensor and, if so, processing the detectedenergies when the markers are driven with the second drive energy toderive the position, orientation and deformation information for theobject, but, if not, processing the detected energies when the markersare driven with the first drive energy to derive the position,orientation and deformation information for the object.
 16. A method asclaimed in claim 12, including the step of providing at least three sucharrays of the sensors.
 17. A method as claimed in claim 16, wherein, foreach array, the processing step includes determining the positions ofthe respective markers relative to that array by processing the detectedenergies for the sensors in that array.